package com.xunwulian.base.dao;

import com.xunwulian.base.entity.GLQXEntity;
import com.xunwulian.base.entity.HYQXEntity;
import com.xunwulian.base.entity.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface RoleDao {

    List<Role> listAllERRoles();

    // 二级用户
    List<Role> listSubUserRole(@Param("parentRoleId") String parentRoleId);


    // 通过当前登录用的角色id获取管理权限数据
    GLQXEntity findGLbyrid(@Param("roleId") String roleId);

    HYQXEntity findYHbyrid(@Param("roleId") String roleId);

    List<GLQXEntity> listAllkefu();

    List<HYQXEntity> listAllGysQX();

    void setAllRights(@Param("rights") String rights, @Param("roleId") String roleId);


    List<Role> listAllRoles();

    /**
     * 根据parentId获取下级roleId
     *
     * @param parentRoleId
     * @return
     */
    List<Role> listAllRolesByPId(@Param("parentRoleId") String parentRoleId);

    Role getRoleById(@Param("roleId") String roleId);

    void updateRoleRights(@Param("rights") String rights, @Param("roleId") String roleId);

    void deleteRoleById(@Param("roleId") String roleId);

    void deleteKeFuById(@Param("roleId") String roleId);

    void deleteGById(@Param("roleId") String roleId);

    void saveKeFu(@Param("glqx") GLQXEntity glqx);

    void saveGYSQX(@Param("hyqx") HYQXEntity hyqx);

    void insert(@Param("role") Role role);

    Role findById(@Param("roleId") String roleId);

    void updateName(@Param("roleName") String roleName, @Param("roleId") String roleId);

    void add_qx(@Param("value") String value, @Param("roleId") String roleId);

    void del_qx(@Param("value") String value, @Param("roleId") String roleId);

    void edit_qx(@Param("value") String value, @Param("roleId") String roleId);

    void cha_qx(@Param("value") String value, @Param("roleId") String roleId);

}
